package com.donger.business.service;

import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.donger.common.core.utils.SpringContextUtil;

import java.util.Map;

public class Global {

    private static Map<String, String> props = MapUtil.newHashMap();


    /**
     * 获取配置  从数据库 或者缓存 中
     * 参数表中
     *
     * @param key      参数
     * @param defValue 默认值
     * @return
     */
    public static String getConfig(String key, String defValue) {
        String value;
        return StrUtil.isBlank(value = getConfig(key)) ? defValue : value;
    }

    /**
     * 获取配置
     *
     * @param key 参数
     * @return
     */
    public static String getConfig(String key) {
        String value;
        // 判断内存中是否有该参数
        if ((value = props.get(key)) == null) {
            SysBaseApi sysBaseApi = SpringContextUtil.getBean(SysBaseApi.class);
            value = sysBaseApi.getConfig(key);
            props.put(key, value);
        }
        return value;
    }


    /**
     * 设置系统缓存
     * @param key 键
     * @param value 值
     */
    public static void setConfig(String key,String value){
        props.put(key,value);
    }

}
